Teaching device for laser machining

ABSTRACT

A teaching device for a laser machining system which performs laser machining on a workpiece while moving an irradiation position of laser light using a robot includes a graphical user interface processing unit which displays machining periods, in each of which machining is performed by irradiating a corresponding one of a plurality of machining points set for the workpiece with the laser light while the robot moves along a machining path, and non-machining intervals between the machining periods of the machining points arranged in time series in a band-like region in a distinguishable manner.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a teaching device which performsteaching of a laser machining system using a robot.

2. Description of the Prior Art

Laser machining systems that machine a plurality of machining points ona workpiece while moving a scanner mounted on a robot are becomingpopular. An example of a teaching device in such a laser machiningsystem is described in Japanese Unexamined Patent Publication (Kokai)No. 2006-344052A.

SUMMARY OF THE INVENTION

In teaching operations using a teaching device as described above, inorder to reduce the machining operation time for all of the machiningpoints to be machined, i.e., the cycle time, it is necessary that theoperator make various adjustments, such as adjustment of the machiningpath and adjustment of the machining order, using the teaching device.There is a need for a teaching device that can output useful informationfor the operator operating the teaching device in order to reduce thecycle time.

An aspect of the present disclosure provides a teaching device for alaser machining system which performs laser machining on a workpiecewhile moving an irradiation position of laser light using a robot, theteaching device comprising a graphical user interface processing unitwhich displays machining periods, in each of which machining isperformed by irradiating a corresponding one of a plurality of machiningpoints set for the workpiece with the laser light while the robot movesalong a machining path, and non-machining periods between the machiningperiods of the plurality of machining points, arranged in time series ina band-like region in a distinguishable manner.

BRIEF DESCRIPTION OF DRAWINGS

The object, features, and advantages of the present invention will bemade clear by the following description of the embodiments in relationto the attached drawings. In the attached drawings:

FIG. 1 is a view showing the overall structure of a laser machiningsystem comprising a laser machining teaching device according to anembodiment,

FIG. 2 is a view showing functional blocks constituting the lasermachining teaching device,

FIG. 3 is a view showing the main flow of an operation programgeneration process executed by the laser machining teaching device,

FIG. 4 is a flowchart showing the details of a welding point groupdetermination process,

FIG. 5 is a flowchart showing the details of an operation speeddetermination process,

FIG. 6 is a view detailing the grouping of the welding point group,

FIG. 7 is a view showing an example of a plane defining a welding pointgroup,

FIG. 8 is a view detailing grouping optimization,

FIG. 9 is a view showing the degree of welding time density,

FIG. 10 is a view detailing the degree of welding time density,

FIG. 11 is a view detailing optimization of a movement order betweengroups,

FIG. 12 is a view detailing determination of a weldable period,

FIG. 13 is a view detailing determination of welding point order,

FIG. 14A is a view detailing issues due to operation program executiontime deviation between robot and scanner,

FIG. 14B is a view detailing issues due to operation program executiontime deviation between the robot and scanner,

FIG. 15A is a graph representing scanner movement trajectory,

FIG. 15B is a graph representing scanner movement trajectory,

FIG. 16 is a flowchart showing the process for operating an operationprogram on an actual machine and measuring an execution time deviationamount,

FIG. 17 is a flowchart showing the process for determining a maximumexecution time deviation amount,

FIG. 18 is a view showing an example of a GUI displayed on a displayscreen of the laser machining teaching device,

FIG. 19 is a view showing a display example of a color bar,

FIG. 20 is a view showing an example of a simulation screen associatedwith a slider,

FIG. 21 is a view showing an example of a GUI displayed on the displayscreen of the laser machining teaching device,

FIG. 22 is a view showing an example of a GUI displayed on the displayscreen of the laser machining teaching device,

FIG. 23 is a view showing an example of a GUI displayed on the displayscreen of the laser machining teaching device,

FIG. 24 is a view showing an example of a GUI displayed on the displayscreen of the laser machining teaching device, and

FIG. 25 is a view showing an example of a GUI displayed on the displayscreen of the laser machining teaching device.

DETAILED DESCRIPTION

The embodiments of the present invention will be described below withreference to the attached drawings. In the drawings, correspondingconstituent elements have been assigned common reference numerals. Forthe ease of understanding, the scales of the drawings have beenappropriately modified. Furthermore, the embodiments shown in thedrawings are merely examples for carrying out the present invention. Thepresent invention is not limited to the embodiments shown in thedrawings.

FIG. 1 is a view showing the overall structure of a laser machiningsystem 100 comprising a laser machining teaching device 1 according toan embodiment. The laser machining system 100 is constituted by aso-called cooperative remote laser machining system which performsmachining on each of the machining points on a workpiece W by scanningwith laser light while moving a Galvano scanner (hereinafter simplyreferred to as a scanner) 50 as a machining head mounted on the arm tipof a robot 10. In the structural example of FIG. 1, the laser machiningsystem 100 comprises a robot 10, a robot controller 20 for controllingthe robot 10, a laser oscillator 30, and the laser machining teachingdevice 1. Though the robot 10 is a vertical articulated robot in thestructural example of FIG. 1, other types of robots may be used.Furthermore, laser scanning devices other than a Galvano scanner may beused. The scanner 50 has a function to scan laser light emitted from thelaser oscillator 30 via an optical fiber in the XY directions by drivinga mirror, and has a function to move a laser spot in the Z direction bydriving a lens in the Z direction.

The laser machining teaching device 1 is a programming device which cangenerate operation programs for the robot 10 and the scanner 50off-line. In the structural example shown in FIG. 1, the laser machiningteaching device 1 is connected with the robot controller 20 via anetwork, and the operation program for the robot 10 produced by thelaser machining teaching device 1 can be transmitted from the lasermachining teaching device 1 to the robot controller 20 via the network.The robot 10 is operated in accordance with the operation program loadedinto the robot controller 20. Furthermore, the laser machining teachingdevice 1 generates an operation program for the scanner 50. The robotcontroller 20 may be constituted by a conventional computer comprising aCPU, ROM, RAM, a storage device, etc. The operation program for thescanner 50 generated by the laser machining teaching device 1 istransmitted from the laser machining teaching device 1 to a control unitof the scanner 50 via the robot controller 20. The control unit of thescanner 50 can operate in accordance with the loaded operation program.The control unit of the scanner 50 may be constituted by a conventionalcomputer comprising a CPU, ROM, RAM, a storage device, etc.

The laser machining system 100 can perform various types of lasermachining such as welding and cutting. The laser machining system 100will be described below as a system for performing welding. As describedin detail below, the laser machining teaching device 1 produces anoperation program which divides a welding target welding point groupinto appropriate groups, optimizes operation speed, and minimizes thetime required for a series of welding operations (hereinafter alsoreferred to as cycle time) for the welding point group. Note that thelaser machining teaching device 1 may be constituted by a conventionalPC comprising hardware components such as a CPU, ROM, RAM, a hard disk,an input device, a display device, and a network interface. Varioustypes of information processing devices such as a desktop PC, notebookPC, or a portable information terminal can be used as the lasermachining teaching device 1.

FIG. 2 illustrates functional blocks constituting the laser machiningteaching device 1. The functional blocks shown in FIG. 2 may be realizedby the execution of software by the CPU of the laser machining teachingdevice 1, or may be realized by dedicated hardware such as an ASIC(application specific integrated circuit). As shown in FIG. 2, the lasermachining teaching device 1 includes a data input unit 110, a groupingunit 120, a teaching process adjustment unit 130, an operation programgeneration unit 140, a graphical user interface (GUI) processing unit150, a simulation execution unit 160, an maximum execution timedifference value acquisition unit 170, and a laser light movementtrajectory acquisition unit 172.

The data input unit 110 acquires various types of data necessary for theoperation program generation process including the welding point groupof the welding target, the welding time of each welding point, a weldingpattern, and model data of the workpiece. Each of these types of datamay be stored in a storage device of the laser machining teaching device1 in advance, or may be input to the laser machining teaching device 1via an operation unit. Alternatively, the various types of data may beinput to the laser machining teaching device 1 from an external devicevia the network.

The grouping unit 120 performs grouping for the welding point groupacquired by the data input unit 110, and optimizes the grouping and thewelding point order in the group. The teaching process adjustment unit130 determines an operation speed so as to minimize the cycle time inwhich all of the welding points of the welding target can be welded. Theoperation program generation unit 140 functions as a teaching dataoutput unit which outputs teaching data of the robot 10 and the scanner50 using the path determined by the grouping unit 120 and the operationspeed determined by the teaching process adjustment unit 130, andfunctions to produce an operation program. The GUI processing unit 150generates and displays a graphical user interface (GUI) for displayinginformation related to the operation program generation process and forperforming setting input. The details of the GUI processing unit 150,the maximum execution time difference value acquisition unit 170, andthe laser light movement trajectory acquisition unit 172 will bedescribed later. The simulation execution unit 160 executes a simulationoperation using the operation programs of the robot 10 and the scanner50.

FIG. 3 illustrates the main flow of the operation program generationprocess executed by the laser machining teaching device 1. The operationprogram generation process is executed under the control of the CPU ofthe laser machining teaching device 1. In step S1, model data of therobot, jig, and workpiece W, the welding point positions of the weldingpoint group of the welding target, and data on the welding time andwelding pattern of each of the welding points are read by the data inputunit 110.

Next, in step S2, a process for determining the welding point groups isperformed by the grouping unit 110. Grouping is performed so as tosatisfy the following criteria:

(1) the distance between the path of the robot passing through thewelding point group and each welding point is within the operation rangeof the scanner (scanning range), and

(2) when defining a line segment having a length corresponding towelding time along the path at the position of a foot of a perpendicularextended from each welding point to the robot path, the welding pointgroups are determined so that the degree of concentration along the pathof the line segments corresponding to the welding times becomes uniform.

FIG. 4 is a flowchart showing the details of the welding point groupdetermination process performed in step S2. Below, grouping is performedon a welding point group G0 as shown on the left side of FIG. 6 as anexample. First, in step S21, the welding point group G0 is grouped intoprovisional welding point groups. A single group defines a plurality ofwelding points on which welding is performed while the robot 10 isoperated by a single operation command. In the single group, the robot10 is operated by the single operation command, and while the scanner 50performs a scanning operation, each welding point belonging to the groupis welded. In the single operation command, the robot 10 operateslinearly at a constant speed. The welding point group G0 isprovisionally divided into three welding point groups G1 to G3, as shownon the right side of FIG. 6 as an example.

In step S22, a path of the robot 10 passing through the center of thewelding point group is determined for each of groups G1 to G3. Pathdetermination is performed by a path determination unit 121 as afunction of the grouping unit 120. The path passing through the centerof the welding point group is determined by, for example, the leastsquares method. Group G1 will be described as an example. A path R1 isdetermined as a straight line that minimizes the sum of the squares ofthe distances from respective welding points 101 to 105 to the path R1.Note that since the positions of the welding points are positions inthree-dimensional space, though the welding points 101 to 105 areactually distributed in three-dimensional space, the above path can bedetermined by defining a plane passing through a position obtained byaveraging the welding point positions, and assuming that each weldingpoint exists at a position in the plane on which each welding point isprojected. The plane passing through the averaged position of thewelding point positions can be determined, for example, using the leastsquares method or using the Newell algorithm. The paths R1, R2, and R3are determined as the paths of the welding point groups G1, G2, and G3by the process of step S22. Note that the path may be determined as apath along which a foot of a perpendicular extended from the irradiationposition of the laser light to the plane defining the welding pointgroup moves on the plane.

The plane onto which the welding points of the welding point group areprojected may be defined as a plane which is inclined with respect tothe horizontal direction depending on the distribution of the weldingpoints (the shape of the weld surface). For example, as shown in FIG. 7,the plane H1 defining the welding point group G1 is preferably definedas a plane which is inclined with respect to the plane H2 defining thewelding point group G2. By determining the planes in this manner, it ispossible to set the planes consistent with the distribution of thewelding point groups. Note that FIG. 7 illustrates examples of theoperational ranges of the scanner 50 set to the laser light irradiationpositions D1, D2. The posture of the robot 10 is controlled so that thescanner 50 faces the plane H2 while the robot 10 is on the pathcorresponding to the welding point group G2.

Next, in step S23, it is confirmed for each of the welding point groupswhether or not the welding points are within the operation range of thescanner 50. For example, regarding welding point group G1, it can beconfirmed in step S23 whether or not the distance from each of thewelding points 101 to 105 to the path R1 is within the operation rangeof the scanner 50. When the welding point outside the operation range ofthe scanner 50 is found (S23: No), grouping is performed again (stepS21).

Next, in the loop process of steps S24 to S26, grouping is optimizedbased on the distribution of the welding points and the welding time ofeach of the welding points in the welding point group. Groupingoptimization will be described assuming a welding point group as shownin FIG. 8. In the example of FIG. 8, welding points 131 to 138 aredistributed within a single welding point group G10. The path P10 is setin accordance with the process of step S22 for the welding point groupG10. As described above, the robot operates at a constant speed in theoperation corresponding to a single operation command. Thus, when theoperation speed of the robot is set to a low speed so that welding ofall of the welding points 131 to 135 in portion 140, in which thewelding point density is high, can be completed by the robot, in portion141, in which the welding point density is low, the robot will operateat an unnecessarily low speed. Thus, in this case, the average speed ofthe robot can be increased by dividing the welding point group G10 intoa welding point group of portion 140 and a welding point group ofportion 141. In other words, it is preferable to perform grouping sothat the distribution of welding points within a single welding pointgroup becomes uniform.

However, it is necessary to give some consideration to the fact that thewelding time may differ among the welding points. As shown in FIG. 9,line segments having lengths corresponding to the welding times of thewelding points are set on the path, centering at the position of thefoot of a perpendicular extended from the welding point to the path.This line segment corresponds to the welding time of one welding pointin the movement time of the robot along the path, and thus will bereferred to below as welding time. For example, in FIG. 9, welding time132 s centering at the position 132 c of the foot of the perpendicularextending from the welding point 132 to the path P10 is set. Note thatfor the sake of convenience, each welding time is represented by a thickdouble arrow line in FIG. 9.

In step S24, the welding time density (the degree of density of weldingtimes) occupying the path is calculated. In this case, the welding timedensity can be expressed as the degree of concentration of weldingtimes. For example, as shown in the upper portion of FIG. 10, the statein which the intervals d1 and d2 between welding times SG1, SG2 and SG3set on the path are wide corresponds to a low welding time density(sparse state). In contrast thereto, as shown in the lower portion ofFIG. 10, the state in which the intervals d11 and d12 between weldingtimes SG10, SG11, and SG12 are narrow corresponds to a high welding timedensity (dense state). The state in which the intervals between adjacentwelding times are wide indicates that the speed of the robot in theportions of the path corresponding to such welding times can beincreased. Conversely, the state in which the intervals between adjacentwelding times are narrow indicates that the speed of the robot in theportions of the path corresponding to such welding times cannot beincreased. Thus, by evaluating the unevenness of the welding timedensity (density state unevenness) set on the path of a certain weldingpoint group, regrouping when the density unevenness is high, andreducing the unevenness in the welding time density of each weldingpoint group, the speed of the whole welding operation can be increased.

Thus, in step S24, a value representing unevenness of the densityregarding the intervals between the welding times set on the path of acertain welding point group is calculated. For example, the unevennessof the welding time density may be obtained by determining the weldingtime density for each of short sections each having a fixed length onthe path and by calculating the unevenness of the welding time densitybased on the variations of the determined welding time density. In stepS25, an evaluation value is calculated such that a smaller densityunevenness gives a higher score.

In step S26, it is determined whether or not the evaluation value ofeach welding point group is equal to or greater than a predeterminedthreshold value. When there is a group having an evaluation value whichis less than the predetermined threshold value (S26: NG), grouping isperformed again so that the evaluation value of the group becomes high,and the processes from step S22 are repeated. Conversely, when theevaluation values of all of the welding point groups are equal to orgreater than the threshold value, the process of step S27 is performed.Optimization of the welding point grouping can be carried out by such aloop process. Note that in such loop process for optimization, forexample, a genetic algorithm may be used.

Next, in step S27, optimization of the movement order between weldingpoint groups and the welding point order within the welding point groupis performed. It is assumed that the grouping and path as shown on theleft side of FIG. 11 have been determined by the process up to step S26.In the example of the left side of FIG. 11, the welding point group ofthe welding target are grouped into three welding point groups G201 toG203, and paths P201 to P203 are set for the groups. In step S27, themovement direction of the paths set for the welding point groups and themovement order between the welding point groups are optimized. In FIG.11, the left side represents a state prior to optimization, and theright side represents a state after optimization. In the state prior tooptimization, the order between the groups is set to the order of groupG201, then group G203, and finally group G202. Furthermore, the weldingpoint order from the bottom of the image toward the top is determinedfor group G201, the welding point order from the bottom of the imagetoward the top is determined for welding point group G203, and thewelding point order from the left of the image toward the right isdetermined for welding point group G202. It can be understood that thestate prior to optimization has a long total movement distance betweenthe groups, and there is room for improvement.

In the state after optimization on the right side of FIG. 11, themovement order between the groups is set to the order of the weldingpoint group G201, then welding point group G202, and finally weldingpoint group G203. Furthermore, the welding point order from the bottomtoward the top is determined for the welding point group G201, thewelding point order from the left toward the right is determined forwelding point group G202, and the welding point order from the toptoward the bottom is determined for the welding point group G203. It canbe understood that in the state after optimization, the total movementdistance between the welding point groups is minimized. Various methodswhich are known in the art for solving the so-called “travellingsalesman problem” can be used as the method for determining the movementorder for minimizing the total movement distance between welding pointgroups. The welding point group determination process (step S2) of themain flow of FIG. 3 can be completed by the above process.

Next, in main flow step S3, the operation speed of the robot isdetermined for each welding point group. FIG. 5 is a flowchart showingthe details of this operation speed determination process. This processis executed by the teaching process adjustment unit 130. First, in stepS31, a provisional robot speed is set for each welding point group. Theprovisional speed may be set uniformly for all of the welding pointgroups to a low speed at which welding of all of the welding points ofeach welding point group is considered possible without problems.Alternatively, a representative speed based on experience values may beuniformly set for each welding point group.

Next, in step S32, an operation program of the robot 10 is generatedusing the robot path determined in step S2 of the main flow and theoperation speeds of the welding point groups determined in step S31, anda robot operation simulation is executed. Position data (hereinafteralso referred to as “motion path”) for each interpolation cycle of therobot is acquired from the execution of the operation simulation.

Next, in step S33, using the motion path of the robot obtained from therobot operation simulation, a period (hereinafter referred to as a“weldable period”) corresponding to a range in which each welding pointcan be welded on the motion path of the robot is calculated. Thisprocess will be described by discussing, as an example, the case wherethe weldable period in which welding point 151 can be welded isdetermined regarding the operation path L1 of the robot, as shown inFIG. 12. First, the position of the scanner (specifically, for example,the position of the condenser lens of the scanner) attached to the armtip of the robot is determined based on the position of the robot on themotion path L1, and a laser light path which connects the position ofthe scanner 50 and the position of the welding point 151 is determined.At this time, when the following conditions are satisfied, it isdetermined that welding can be carried out for such a laser light path:

(1) the path of the laser light does not interfere with the workpiece orjig;

(2) the path of the laser light is within the operation range of thescanner; and

(3) the irradiation angle, which is the angle between the normaldirection on the workpiece at the welding point position and the laserlight, is within a predetermined tolerance.

Note that condition (3) above is used to prevent the occurrence ofunevenness in the irradiation intensity of the laser light for theworkpiece and to maintain weld quality. The period corresponding to therange in which the laser light path is determined to be weldable insuccession on the motion path is the weldable period for each weldingpoint determined in step S33. In the example of FIG. 12, reference signL101 represents the weldable period. Note that, in some cases, weldableperiods may be determined at multiple locations on the motion path.Since it is necessary that the weldable period be equal to or greaterthan the welding time of the target welding point, weldable periodswhich do not satisfy this condition are discarded.

Next, in step S34, the positions and times for welding the weldingpoints are determined using the weldable periods of the welding pointsdetermined in step S33. In consideration of the welding time of eachwelding point as a first condition, the times for welding are determinedto ensure that the welding time of each welding point is satisfiedwithout depending on the order of the start times of the weldableperiods of the welding points. For example, the case in which there aretwo welding points A, B having identical welding times of one second,the weldable period of welding point A is from 1 second to 4 secondsfrom operation start, and the weldable period of the welding point B isfrom 1.1 seconds to 2.1 seconds from operation start will be assumed. Inthis case, though welding point A can be welded earlier, if weldingpoint A is welded from 1 second to 2 seconds, welding point B cannot bewelded. In such a case, in the present step, welding point B is weldedfrom 1.1 seconds to 2.1 seconds, and welding point A is welded from 2.1seconds to 3.1 seconds.

Furthermore, in step S34, as a second condition, if there is a weldingpoint that can be welded earlier due to the positional relationshipbetween the motion path and the workpiece or jig without depending onthe arrangement order of welding points, such welding point is weldedpreferentially. For example, as shown in FIG. 13, though the arrangementorder of welding points along the motion path L2 is in the order ofwelding points 161 and 162, in the case in which the welding point 161is obscured behind a protrusion 180 of the workpiece and the weldingpoint 162 becomes weldable first when viewed from the motion path L2toward the welding point, welding of the welding point 162 at theposition 202 on the motion path is first performed, and thereafterwelding of welding point 161 is performed at the position 203 behind theposition 202. The process of step S34 is executed by a welding pointorder determination unit 130 a as a function of the teaching processadjustment unit 130.

Next, in step S35, the operation speed is adjusted and optimized so thatall of the welding points can be welded and the cycle time is reduced.For example, lowering the operation speed until it becomes possible toweld all of the welding points at the same operation speed of the robot10 for all welding point groups, and thereafter increasing the operationspeed for each welding point group can be considered. As a result of theabove process, the operation speed determination process (step S3) ofthe main flow of FIG. 3 ends.

Next, operation programs for the robot 10 and the scanner 50 areproduced using the results obtained in accordance with the above processfrom step S1 to S3. The operation program of the robot 10 is produced sothat the robot 10 moves along the path set for each welding point groupby the process of step S2 at the operation speed determined in step S3.The operation program of the scanner 50 is produced as a motion commandgroup which regulates the position and posture of the scanner 50 so thatwhen the robot 10 moves on the motion path in accordance with theoperation program, the welding points are irradiated with laser lightduring the welding time set for each of the welding points.

According to the configuration described above, a suitable motion pathof the robot, and the timing for welding each of the welding points canbe automatically determined.

In the laser machining system 100 described above, the robot 10 and thescanner 50 are controlled by separate controllers. Problems to beconsidered when the robot 10 and the scanner 50 are controlled byseparate controllers in this manner will be described.

Since the operation program of the robot 10 and the operation program ofthe scanner 50 begin simultaneously in accordance with a start signal,it is necessary to operate according to the cycle time assumed at thetime of generation thereof.

However, when the robot and the scanner are operated by separatecontrollers, in general, both do not operate according to the cycle timeassumed at the time of program generation. This is caused by differencesin mechanical conditions between the robot and the scanner. When such adesynchronization occurs, since the robot is not located at the positionassumed when the program was produced as the scanner 50 welds a certainwelding point, the welding point position may be outside of theoperation range of the scanner, or alternatively, the jig or workpiecemay interfere with the laser light. This is due to the fact that theoperation program of the scanner 50 is produced so as to performwelding, toward the welding point, from the position of the scanner 50determined based on the position to which the robot 10 has movedaccording to the operation program of the robot 10 at the timing forwelding.

An example of problems due to such desynchronization will be describedwith reference to FIGS. 14A and 14B. FIG. 14A shows a situation in whichthe operation program of the robot 10 and the operation program of thescanner 50 both operate in synchronization (at the expected cycletiming). In FIG. 14A, a range R111 represents the operation range of thescanner 50 at the start time point P110 of the welding period L110, anda range R112 represents the operation range of the scanner 50 at the endtime point P111 of the welding period L111. Thus, it can be understoodthat welding of the welding point 201 can be appropriately performedwithin the operation range of the scanner 50 along the motion path L10during the welding period L110.

Conversely, FIG. 14B shows a situation in which the operation of thescanner 50 is behind the expected cycle time. Since the operation of thescanner 50 is behind, the scanner 50 operates to emit laser light towardthe welding point 201 within a range from the position P210 to theposition P211. In this case, though the welding point 201 is included inthe operation range R111 at the position P210, at the position 211, thewelding point 201 is outside of the operation range R112 of the scanner50. When a welding point is outside of the operation range of thescanner 50, the laser machining system 100 performs an emergency stop.

In order to solve this problem, in general, it is necessary to executethe operation program of the robot 10 and the operation program of thescanner 50 on an actual machine to acquire an execution time deviationamount therebetween. For example, the case in which the operationprogram of the robot 10 operates in 10 seconds and the operation programof the scanner 50 operates in 11 seconds when the operation program ofthe robot 10 and the operation program of the scanner 50, which wereproduced so that the cycle times thereof are ten seconds, are executedon an actual machine will be assumed. In this case, the operationprogram of the robot 10 is produced so as to operate in 11 seconds, tocorrect the deviation time of 1 second, and the operation program of thescanner 50 is produced so as to operate in 10 seconds. As a result, therobot 10 and the scanner 50 operate at the same cycle time of 11seconds.

In order to acquire the deviation amount of the execution times of theoperation programs of the robot 10 and the scanner 50 in this manner, itis necessary to operate the operation programs on an actual machine.However, if the welding point is outside of the operation range of thescanner 50 during operation, as described with reference to FIGS. 14Aand 14B, and the laser machining system 100 performs an emergency stop,the operation program cannot be executed until the end, whereby thedeviation amount of the execution time cannot be acquired. In this case,a provisional deviation amount of the execution time is assumed, and theoperation programs of the robot 10 and the scanner 50 are produced so asto correct this deviation amount. However, if the assumed deviationamount is not appropriate, it will become necessary to repeat theoperation on the actual machine while correcting the deviation amountmany times.

Thus, an appropriate deviation amount is determined in the followingmanner. FIG. 15A is a graph showing the movement trajectory of laserlight in the XY directions as viewed from the scanner 50, and shows thecase in which the deviation amount between the operation programs of therobot 10 and the scanner 50 is not set. Acquisition of the movementtrajectory is executed by the laser light movement trajectoryacquisition unit 172. Such a graph can be calculated from the positionof the robot at a certain time when the operation program of the robot10 is executed and the position of the welding point for which thescanner 50 performs welding at the certain time. A range from −150 mm to+150 mm in the XY directions is set as the operation range of thescanner 50. As shown in FIG. 15A, in a state in which desynchronizationhas not occurred, the movement trajectory of the scanner 50 is withinthe operation range of the scanner 50.

The movement trajectory of the scanner 50 when a deviation amount isassumed can also be calculated. For example, when it is assumed that theoperation program of the scanner 50 generated so as to operate in 10seconds actually operates in 11 seconds, the movement trajectory can becalculated by calculating the position of the scanner 50 at ann×10/11^(th) second, with respect to the position of the robot at ann^(th) second, and assuming that the welding point of the welding targetis irradiated with laser light from the position of the scanner 50. Byconfirming that the calculated and graphed movement trajectory of thescanner 50 is within the operation range of the scanner while increasingthe assumed deviation amount, the maximum execution time deviationamount in which the movement trajectory of the scanner 50 does notexceed the operation range can be calculated. FIG. 15B shows a graph ofthe case in which the movement trajectory of the scanner 50 exceeds theoperation range as a result of an increase in deviation amount.

When the deviation amount of the actual execution time on an actualmachine is large, though it is preferable to increase the deviationamount used for correcting the operation program, if the deviationamount used to correct the operation program is increased excessively,in actual use, a situation in which the operation range of the scanner50 is exceeded may occur despite the fact that the deviation amount doesnot actually occur on an actual machine. To prevent this, the deviationamount for the maximum execution time obtained as described above isset, and the operation programs are again generated so as to correct thedeviation amount. As a result, it becomes possible to measure anaccurate operation time deviation amount by executing the operationprograms on an actual machine to the end. The operation program isproduced again so as to correct the sum of the maximum execution timedeviation amount described above and the deviation amount measured byexecuting the operation programs produced again on an actual machine soas to correct the maximum execution time deviation amount. As a result,operation programs for the robot 10 and scanner 50 for operating insynchronization can be obtained.

FIG. 16 shows, as a flowchart, a process for measuring an execution timedeviation amount by operating operation programs on an actual machine.First, the operation programs of the robot 10 and the scanner 50 areproduced by the operation program generation process of FIG. 3 (stepS61). Next, the operation programs of the robot 10 and the scanner 50are operated on an actual machine (step S62). At this time, theexecution time deviation amount of the robot 10 and the scanner 50 ismeasured (step S63). The deviation amount may be measured by, forexample, recording the operations of the robot 10 and scanner 50 asimages. When the deviation amount has been acquired, the operationprograms of the robot 10 and the scanner 50 are produced again so as tocorrect the deviation amount (step S64).

FIG. 17 illustrates, as a flowchart, a process for determining themaximum execution time deviation amount described above. The process ofFIG. 17 is executed by the maximum execution time difference valueacquisition unit 170 of the laser machining teaching device 1. First,the operation programs of the robot 10 and the scanner 50 are producedby the operation program generation process of FIG. 3 (step S71). Next,the execution time deviation amount between the robot 10 and the scanner50 is determined (step S72), the movement trajectory of the scanner 50at the deviation amount is determined, and it is determined whether ornot the movement trajectory is within the operation range of the scanner(step S73). When the movement trajectory of the scanner 50 is within theoperation range, the processes from step S72 are repeated. In step S72,the execution time deviation amount is set to a small value, and eachtime the loop process is repeated, the deviation amount is graduallyincreased. When the movement trajectory of the scanner 50 exceeds theoperation range, the process proceeds to step S74, and the maximumexecution time deviation amount when the movement trajectory of thescanner 50 is within the operation range is calculated. Note that thejudgment of step S73 can be executed by the maximum execution timedifference value acquisition unit 170 by automatically determiningwhether each point on the graph shown in FIG. 15A is within theoperation range. When such a suitable correction value has beenobtained, the operation programs of the robot 10 and the scanner 50 areproduced so as to correct this correction value, and the processes fromstep S62 of FIG. 16 are executed, whereby operation programs of therobot 10 and scanner 50 compensating for the correction can be obtained.

Next, a graphical user interface (GUI) which is displayed on the screenof a display unit of the laser machining teaching device 1 as theprocesses shown in FIGS. 3 to 5 are executed will be described. FIG. 18shows a GUI 300 displayed on a display device of the laser machiningteaching device 1 by the GUI processing unit 150. The GUI 300 displaysinformation related to the results of the operation program generationprocess and enables an operator to designate various conditions of theoperation program generation process.

As shown in FIG. 18, the GUI 300 includes a welding point groupdesignation field 301 for designating a welding point group of thewelding target, a welding point list box 302 for displaying a list ofthe welding point group designated in the welding point groupdesignation field 301, four tabs 311 to 314 for designating the types ofsetting, a slider 321, a color bar (a band-like region) 322, a previewbutton 323, and a program generation button 324 for designating theproduction of the operation programs. In the example of FIG. 18, the tab311 is selected, and adjustment menus of the tab 311 is displayed on theright side of the GUI 300.

In the GUI 300, the welding point group designated in the welding pointdesignation field 301 includes 28 welding points (T1 to T28). Thewelding point list box 302 displays the welding points from the top ofthe screen in the welding point order determined by executing theoperation program generation process shown in FIGS. 3 to 5 for thedesignated welding point group. Furthermore, the welding point list box302 includes fields 331 to 337 displaying the welding point number,welding pattern, welding time, welding start time, welding end time,laser light irradiation angle, and the distance between the path and thewelding point, respectively, for each of the welding points. The weldingpattern (field 332) represents the laser light irradiation pattern whena welding point is welded. The laser light irradiation angle representsthe angle between the normal direction of the welding point and thelaser light. Information on the welding start time, welding end time,laser light irradiation angle, and the distance between the path and thewelding point (fields 333 to 337) is information which is acquired anddisplayed as a result of the program generation button 324 being pressedand the operation program generation process shown in FIGS. 3 to 5 beingexecuted for the welding point group designated on the GUI 300. Forexample, the welding point (“T1”) in the welding point group which isinitially welded has a welding time of 350.00 ms, a welding start timeof 56.00 ms, a welding end time of 424.00 ms, a laser light irradiationangle of 5.02°, and a distance between the path and the welding point of22.17 mm.

Furthermore, in order to facilitate recognition of the grouping of thewelding points in the welding point list, the fields of welding pointsof the same group are displayed in the same color, and at least adjacentwelding point groups are displayed having different background colors.In the welding point list example of FIG. 18, the designated weldingpoint group is grouped into five welding point groups G401 to G405.

FIG. 19 shows an enlarged example of the color bar 322. As shown in FIG.19, the color bar 322 is a bar graph where, by using the resultsobtained by performing the operation program generation process for thedesignated welding point group, the welding periods (when laser light isirradiated) and the non-welding periods (when laser light is notirradiated) in the welding operation process for the designated weldingpoint group are displayed in two different colors in time series so asto facilitate distinguishing therebetween. The left end part 332 a ofthe color bar 322 in the drawing corresponds to the start time of theoperation program of the robot 10, and the right end part 322 b of thecolor bar 322 in the drawing corresponds to the end time of theoperation program of the robot 10. The portions displayed in the firstcolor 322 c in the color bar 322 represent the welding periods duringwhich welding is performed, and the portions displayed in the secondcolor 322 d in the color bar 322 represent the non-welding periodsduring which welding is not performed.

An increase in the number of portions represented by the first color 322c in the color bar 322 indicates that the time during which welding isperformed in the operation of the robot 10 is high, i.e., that theefficiency of the welding operation is high. Conversely, an increase inthe number of portions represented by the second color 322 d in thecolor bar 322 indicates that the time during which welding is performedin the operation of the robot 10 is small, i.e., that the efficiency ofthe welding operation is low. Thus, an operator can instantly visuallyunderstand, from the color bar 322, the efficiency of the weldingoperation in accordance with the currently used operation program (i.e.,the current machining path). In the case in which the efficiency of thewelding operation is considered low, the conditions can be changed andthe operation program can be produced again.

The slider 321 is used to designate a time in a simulation operation of3D models of the robot and the scanner executed using the operationprogram. Using the simulation operation results, the simulationexecution unit 160 displays, on the screen, the 3D models of the robot10 and the scanner 50 to take postures defined at the time designated bythe slider 321 in the simulation operation. At this time, the path ofthe laser light leading to the welding point from the scanner 50 isdisplayed in the first color when welding is carried out and isdisplayed in the second color when welding is not carried out. Since thehorizontal position of the slider 321 corresponds to the position on thehorizontal axis of the color bar 322, the operator can search for theperiod (a portion in the second color) of the non-welding period on thecolor bar 322 and slide the slider 321 to the searched position, wherebythe state of the robot 10 and the scanner 50 at the searched positioncan be intuitively confirmed on the screen. FIG. 20 shows an example ofsuch a screen. In the screen example of FIG. 20, the 3D models of therobot 10 and the scanner 50 are displayed, and the path of the laserlight LA is displayed in the second color.

By combining display by means of the color bar 322 and display of thestate of the robot, etc., using the slider, the operator can discoverwasteful times in the welding operation, whereby efficiency of thewelding operation can be further increased.

When the preview button 323 is pressed, an animation of the models ofthe robot 10, scanner 50, and workpiece W, as well as the laser lightirradiation is displayed in accordance with the simulation results ofthe operation program.

Various adjustment menus provided in accordance with the currentlyselected tab 311 are displayed on the right side of the screen of theGUI 300. The adjustment menus of the tab 311 include adjustment contentsrelated to the operation programs as a whole. Fields 411 to 414 arerelated to the operation program of the scanner 50. Field 411 is a fieldfor designating the ID of the operation program of the scanner 50, field412 is a field which displays the operation program name, field 413 is afield in which the welding time of the operation program is displayed,and field 414 is a field in which the correction amount of the operationprogram of the robot and the operation program of the scanner 50described with reference to FIGS. 14A to 17 are designated.

Furthermore, the adjustment menus of the tab 311 include a button 421for indicating that the plurality of welding points selected in thewelding point list box 302 lie within the same plane, and a button 422indicating that the plurality of welding points selected by the user inthe welding point list box 302 are included on the same motion path.Furthermore, the adjustment menus of the tab 311 include a field 425 fordesignating the operation speed of the operation command for welding thewelding points selected in the welding point list box, a field 426 fordesignating the operation command start margin (approach distance), anda field 427 for designating an operation command end margin. Since therobot accelerates immediately after the start of the operation command,there is a problem in that if welding is performed during theacceleration, the weld may not be stable. Thus, by ensuring a startmargin, welding can be performed when the robot 10 moves at a constantspeed as expected. Likewise, since the robot decelerates when theoperation command ends, there is problem in that if welding is performedduring the deceleration, the weld may not be stable. Thus, by ensuringan end margin, welding can be performed when the robot moves at aconstant speed as expected. By operating the program generation button324, the operation program generation process can be carried out againusing the various setting values set in the adjustment menus.

FIG. 21 shows the GUI 300 in a state in which the tab 312 has beenselected. The tab 312 includes various adjustment menus related to thewelding position. The adjustment menus of the tab 312 include a box 481displaying the position of the welding point selected in the weldingpoint list box 302, and a position adjustment box 482 in which aninstruction to change the position of the welding point can be input.The adjustment menus of the tab 312 further includes a graph 485 whichrepresents the laser irradiation angle of the currently selected weldingpoint (“T1”). In the graph 485, the horizontal axis represents time(unit: ms) and the vertical axis represents irradiation angle (unit:degrees). The graph 485 represents the change of the irradiation angleof the laser light (during the welding time) toward the welding pointfrom the start of emission of the laser light until the end of emissionof the laser light. The irradiation angle at the point at which emissionof the laser light toward the welding point starts is comparativelylarge, and the irradiation angle at the point at which the irradiationperiod of the laser light ends (after 350 ms has elapsed) iscomparatively small. By operating the program generation button 324, theoperation program generation process can again be carried out using thevarious setting values set in the adjustment menus.

FIG. 22 shows the GUI 300 in a state in which the tab 313 is selected.Tab 313 includes adjustment menus related to welding settings. Theadjustment menus of the tab 313 include a field 501 for designating awelding pattern for the selected welding point (“T1”), a field 502 fordesignating the operation range of the scanner 50 when welding thewelding point, and a field 503 for designating a tolerance of theirradiation angle when laser light is emitted toward the welding point.Furthermore, the adjustment menu screen of tab 313 includes a weldingpattern display box 505 for graphically displaying the welding patternof the selected welding point. By operating the welding patterndisplayed in the pattern display box 505, the operator can change thewelding pattern. By operating the program generation button 324, theoperation program generation process can again be carried out using thevarious setting values set in the adjustment menus.

The welding pattern display box 505 includes a shape button, which is aradio button for designating the shape of the welding pattern, and apower button 516. In the display example shown in FIG. 22, the shapebutton 515, for designating the shape as the display form of the weldingpattern, is designated.

FIG. 23 shows a display example when the power button 516, fordesignating power as the display form, is designated. As shown in FIG.23, in this case, a graph 520 representing the welding pattern of theselected welding point is displayed in the pattern display box 505. Inthe graph 520, the horizontal axis represents time (unit: ms), and thevertical axis represents laser output (unit: W). The current graph 520represents the performance of welding during the welding period at aconstant laser output of 10 W. The operator can change the weldingpattern. In this case, the operator inputs the time of the laser outputchange point into the field 532, inputs the laser output at that timeinto the field 533, and operates the button 531 for instructing to addlaser output. The operator can obtain the desired laser output patternby repeatedly carrying out such an operation.

FIG. 24 shows the GUI 300 in a state in which the tab 314 is selected.The setting menus of the tab 314 includes a setting box 530 for settingthe network address of the scanner 50, and a setting box 531 forperforming operation setting of the scanner 50. The setting box 531includes fields for setting the operation range, focal length, maximumoperation speed (XY directions), maximum speed (Z direction), andminimum movement time of the scanner 50. By operating the programgeneration button 324, the operation program generation process canagain be carried out using the various setting values set in theadjustment menus.

FIG. 25 shows a display example in the case in which the analysis tab560 located on the left side of the screen of the GUI 300 is selected.The screen of the analysis tab 560 shows three graphs 561 to 563 relatedto the operation of the scanner 50 obtained as simulation results. Graph561 is a graph representing the speed of the scanner 50 in the XYdirections. In graph 561, the horizontal axis represents time, and thevertical axis represents speed. Graph 562 is a graph representing the Xand Y direction operations (the laser light irradiation position asviewed from the position of the lens of the scanner 50) of the scanner50 during the welding operation in the local coordinate system of thescanner 50. In graph 562, the horizontal axis represents position in theX direction, and the vertical axis represents position in the Ydirection. Graph 563 is a graph showing the operation of the scanner 50in the Z direction during the welding operation in the local coordinatesystem of the scanner 50. The operation of the scanner 50 in theZ-direction represents an operation in the direction to drive the lensof the scanner 50 (i.e., adjustment of the focal length).

By operating the slide bar 565, designating the delay time (correctionamount) of the scanner 50, and operating the graph update button 566,the operator can update the graphs according to results of thesimulation performed using the designated delay time. As a result, theoperator can confirm the degree of delay time necessary to enable thewelding operation to be executed within the operation range of thescanner 50.

According to the present embodiment described above, the machining pointgroups can be appropriately grouped, and the appropriate operation pathof the robot can be determined to reduce the required machiningoperation time.

Though the embodiments of the present invention have been describedabove, a person skilled in the art can understand that variousmodifications and alterations can be made without departing from thescope of the claims described below.

The program for performing the above-described various processesexecuted on the laser machining teaching device 1 can be recorded onvarious computer readable recording media.

Displaying of the color bar and the displaying of the images of theposture of the robot and etc. through operation to the slider, which areexplained with reference to FIGS. 19-20, can be applied to various typeof laser machining systems that carries out the laser machining with arobot, in addition to the configuration of the laser machining systemaccording to the above described embodiment.

Furthermore, in order to achieve the object of the present disclosure,the following various aspects and the effects thereof are provided. Notethat numbers in parentheses in the following descriptions of the aspectscorrespond to reference numerals in the drawings of the presentdisclosure.

For example, the first aspect of the present disclosure provides ateaching device (1) for a laser machining system (100) which performslaser machining on a workpiece while moving an irradiation position oflaser light using a robot (10), the teaching device (1) comprising: agraphical user interface processing unit (150) which displays machiningperiods, in each of which machining is performed by irradiating acorresponding one of a plurality of machining points set for theworkpiece with the laser light while the robot moves along a machiningpath, and non-machining periods between the machining periods of theplurality of machining points, arranged in a time series in a band-likeregion (322) in a distinguishable manner.

According to the first aspect, an operator can instantly visuallyunderstand the efficiency of the machining operation in the currentmachining path.

According to the second aspect, in the teaching device (1) of the firstaspect, ends of the band-like region in a longitudinal directioncorrespond to a start time point and an end time point, respectively, ofa total movement time of the robot for completing machining of all ofthe plurality of machining points.

According to the thirst aspect, in the teaching device (1) of the firstaspect or the second aspect, the teaching device further comprises asimulation execution unit (160) that executes a simulation operationusing an operation program of the robot, wherein the graphical userinterface processing unit (150): further displays a slider image (321)of which ends correspond to a start time point and an end time point ofa total movement time of the robot for completing machining of all ofthe plurality of machining points, a slide position of the slider imagebeing set so as to be movable in a longitudinal direction of theband-like region, and the slider image having the same length as theband-like region in the longitudinal direction of the band-like region,and displays a model of the robot, a model of the workpiece, and animage of a path of the laser light at a time according to the slideposition on the slider image designated by a user operation usingexecution results from the simulation execution unit (160).

According to the fourth aspect, in the teaching device (1) of any of thefirst to third aspects, the graphical user interface processing unit(150) displays the machining periods and the non-machining periods indifferent colors.

1. A teaching device for a laser machining system which performs lasermachining on a workpiece while moving an irradiation position of laserlight using a robot, the teaching device comprising: a graphical userinterface processing unit which displays machining periods, in each ofwhich machining is performed by irradiating a corresponding one of aplurality of machining points set for the workpiece with the laser lightwhile the robot moves along a machining path, and non-machining periodsbetween the machining periods of the plurality of machining points,arranged in time series in a band-like region in a distinguishablemanner.
 2. The teaching device according to claim 1, wherein ends of theband-like region in a longitudinal direction correspond to a start timepoint and an end time point, respectively, of a total movement time ofthe robot for completing machining of all of the plurality of machiningpoints.
 3. The teaching device according to claim 1, further comprisinga simulation execution unit that executes a simulation operation usingan operation program of the robot, wherein the graphical user interfaceprocessing unit: further displays a slider image of which endscorrespond to a start time point and an end time point of a totalmovement time of the robot for completing machining of all of theplurality of machining points, a slide position of the slider imagebeing set so as to be movable in a longitudinal direction of theband-like region, and the slider image having the same length as theband-like region in the longitudinal direction of the band-like region,and displays a model of the robot, a model of the workpiece, and animage of a path of the laser light at a time according to the slideposition on the slider image designated by a user operation usingexecution results from the simulation execution unit.
 4. The teachingdevice according to claim 1, wherein the graphical user interfaceprocessing unit displays the machining periods and the non-machiningperiods in different colors.